Many web services may need to work together to provide the user with a desired task. However, many of these web services require the web user to grant the web service access to the web user's protected resources associated with another web site. For example, one web site, such as a social network site, may request the username and password associated with the web user's email account to find more friends. However, to use the service provided by the social network site for finding more social networking friends, web users have to manually enter their private authentication credentials associated with their email service to share with the social network site. As web users access more web sites associated with the user's protected resources, web users must provide and share their username and password to many different entities. Web users are in need of a better user experience with enhanced privacy and security so that their authentication credentials are not stolen or abused.
In the last few years, authentication protocols, such as Oauth, have provided methods for a web site to authenticate a web user using an external authorization provider trusted by the web user. Typically, these authentication protocols require the web site that needs to authenticate the web server to redirect the user's web browser to the authorization provider's authentication web page to receive an authentication token, which may include an encrypted string of the web user's authentication credentials. If the web user is already authenticated or logged in with the authorization provider and the web site has already been given permission to authenticate with the authorization provider, the authentication web page will immediately redirect to the web site initially requested by the user with an authentication token. This sequence of redirects occurs while the user is waiting for the web site to load. Thus, this sequence of redirects causes an increase in the amount of time for the web site to load in the browser. Further, the browser will display the web site of the content provider, then the authentication web page of the authorization provider, and then the web site of the content provider again. As a result, the web user may have a poor user experience because of the increased time in loading the web site and the confusion caused by the web site redirections. If a web site uses Application Cache from HTML5 or another similar method, the web site may take even longer to load because the browser must load the web site initially before the browser is redirected to the authentication page at the authorization provider, which then redirects the browser to the initial web site requested by the user. The need has arisen to provide a better user experience for authenticating web users while adequately protecting the authentication credentials of the users.